#ifndef STDINCLUDESH
#define STDINCLUDESH
#include <string>
#include <map>
#include <vector>
#include <set>
#include <stdexcept>
#include <boost/bind.hpp>
#include <sstream>

template< typename TContainer, typename TPred >
inline void erase_if( TContainer& container, TPred pred )
{
    container.erase(std::remove_if( container.begin(), container.end(),pred ), container.end());
}
template< typename TContainer, typename TAction >
inline void do_all( TContainer& container, TAction action )
{
    std::for_each( container.begin(), container.end(), action );
}
template< typename TNumType, typename TAction >
inline void do_times( TNumType numberOfTimes, TAction action )
{
    for ( TNumType index = 0; index < numberOfTimes; ++index )
	action( index );
}
#endif
